<?xml version="1.0" encoding="Windows-1251"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:root="http://www.kadm.org.ua/XMLSchema/root"
    xmlns:tsk="http://www.kadm.org.ua/XMLSchema/Task"
    xmlns:tht="http://www.kadm.org.ua/XMLSchema/Thought"
    xmlns:speech="http://www.kadm.org.ua/XMLSchema/Speech">

    <xsl:output method="xml" version="1.0" encoding="Windows-1251" media-type="text/xhtml"/>

    <xsl:strip-space elements="node()"/>

    <!--<xsl:template match="node()"/>-->

    <xsl:template match="root:root">
        <html>
            <head>
                <style type="text/css">
                    <xsl:text>
                    * {
                        text-indent: 0pt;
                        margin: 0pt;
                        padding: 0pt;
                        border: 0pt solid black;
                    }
                    body {
                        padding-top: 5em;
                        padding-right: 5%;
                        padding-bottom: 0em;
                        padding-left: 10%;
                    }
                    abbr._a_title {
                        border-bottom: 1px dotted black;
                    }
                    ul ul {
                        margin-left: 2em;
                    }
                    ul li {
                        list-style-type: none;
                        margin-left: 2em;
                    }
                    li._p_child__any {
                        margin-left: 0em;
                    }
                    .section:first-letter, li:first-letter {
                        text-transform: uppercase;
                   }
                    .section, ul {
                        margin-top: 0.5em;
                   }
                    </xsl:text>
                </style>
            </head>
            <body>
                <xsl:apply-templates/>
            </body>
        </html>
    </xsl:template>

    <xsl:template match="tsk:task">
        <xsl:apply-templates select="." mode="some"/>
    </xsl:template>

    <xsl:template match="tsk:task">
        <li>
            <xsl:apply-templates select="@*"/>
            <xsl:apply-templates/>
        </li>
    </xsl:template>

    <xsl:template match="tsk:task[count(ancestor::tsk:task)=0]">
        ========================<ul>
            <xsl:apply-templates select="." mode="some"/>
            <xsl:apply-templates select="following-sibling::tsk:task"/>
        </ul>
    </xsl:template>

    <!--<xsl:template match="tsk:task/tsk:task">
        <li class="_p_child__any">
            <xsl:apply-templates select="@*"/>
            <xsl:apply-templates/>
        </li>
    </xsl:template>-->

    <xsl:template match="tsk:task[count(ancestor::tsk:task)>0][tsk:task]">
        ------------------------------<li>
            <xsl:apply-templates select="@*"/>
            <xsl:apply-templates select="." mode="some"/>
            <ul>
                <xsl:apply-templates/>
            </ul>
        </li>
    </xsl:template>

    <xsl:template match="tsk:task/@theme">
        <xsl:variable name="depth" select="count(ancestor-or-self::tsk:task)"/>
        <xsl:variable name="from-number" select="3"/>
        <xsl:variable name="to-number" select="6"/>
        <xsl:variable name="use-depth">
            <xsl:choose>
                <xsl:when test="$depth > $to-number - $from-number">
                    <xsl:value-of select="$to-number"/>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="$from-number + $depth - 1"/>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>
        <xsl:element name="{concat('h', string($use-depth))}">
            <xsl:apply-templates/>
        </xsl:element>
    </xsl:template>

    <xsl:template match="tht:idea | tht:phrase">
        <div class="section lavel{count(ancestor-or-self::tsk:task)}">
            <xsl:apply-templates/>
        </div>
    </xsl:template>

    <xsl:template match="speech:plant">
        <xsl:apply-templates/>
        <xsl:text>.</xsl:text>
    </xsl:template>

    <xsl:template match="
        speech:question[ancestor::speech:*[1][local-name() != 'plant']] |
        speech:plant[speech:*[position() = last()][local-name() = 'question']]
        ">
        <xsl:apply-templates/>
        <xsl:text>?</xsl:text>
    </xsl:template>

    <xsl:template match="speech:abbr">
        <xsl:variable name="abbr-name" select="text()"/>
        <xsl:variable name="abbr-define-node" select="//speech:abbr[text() = $abbr-name][speech:define][1]/speech:define"/>
        <xsl:variable name="abbr-define">
            <xsl:apply-templates select="$abbr-define-node" mode="text"/>
        </xsl:variable>
        <abbr>
            <xsl:if test="$abbr-define != ''">
                <xsl:attribute name="title">
                    <xsl:value-of select="$abbr-define"/>
                </xsl:attribute>
                <xsl:attribute name="class">
                    <xsl:text>_a_title</xsl:text>
                </xsl:attribute>
            </xsl:if>
            <xsl:apply-templates/>
        </abbr>
    </xsl:template>

    <xsl:template match="speech:abbr/speech:define" mode="text">
        <xsl:apply-templates/>
    </xsl:template>

    <xsl:template match="speech:abbr/speech:define"/>

    <xsl:template match="speech:quote | speech:nodir">
        <xsl:text>"</xsl:text>
            <xsl:apply-templates/>
        <xsl:text>"</xsl:text>
    </xsl:template>

</xsl:stylesheet>
